package com.modelo.entity;

import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
 
@Entity
@Table(name = "empresa", catalog = "firmes")
public class Empresa implements java.io.Serializable {
 

	 
	private static final long serialVersionUID = 1L;
	
	private Integer idEmpresa;
	private Proveedor proveedor;
	private Date caducidad;
	private Integer visto;
 

	 
	public Empresa() {
	}

	 
	public Empresa(Integer idEmpresa, Proveedor proveedor, Date caducidad,
			Integer visto) {
		this.idEmpresa = idEmpresa;
		this.proveedor = proveedor;
		this.caducidad = caducidad;
		this.visto = visto;
	}
 
	@Id
	@GeneratedValue
	@Column(name = "idEmpresa", unique = true, nullable = false)
	public Integer getIdEmpresa() {
		return this.idEmpresa;
	}

	public void setIdEmpresa(Integer idEmpresa) {
		this.idEmpresa = idEmpresa;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "idProveedor", nullable = false)
	public Proveedor getProveedor() {
		return this.proveedor;
	}

	public void setProveedor(Proveedor proveedor) {
		this.proveedor = proveedor;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "Caducidad", nullable = false, length = 10)
	public Date getCaducidad() {
		return this.caducidad;
	}

	public void setCaducidad(Date caducidad) {
		this.caducidad = caducidad;
	}

	@Column(name = "Visto", nullable = false)
	public Integer getVisto() {
		return this.visto;
	}

	public void setVisto(Integer visto) {
		this.visto = visto;
	}

}